
// 类装饰器 简单类型装饰器
function logClass(constructor: Function) {
  console.log(`Class crearte ${constructor.name}`);
}

@logClass
class Person {
  constructor(public name: string) {}
}

// 类装饰器工厂 是一个返回装饰器的函数 可以接受参数来控制装饰器的行为
function logClassWithParams(message: string) {
  return function(constructor: Function) {
    console.log(`Class crearte ${constructor.name} with message ${message}`)
  }
}

@logClassWithParams('Class Create')
class Car {}
